Halftone proofing with inkjet printers

ABSTRACT

Techniques are described for preparing halftone bitmap images for printing on inkjet printers. The techniques may involve exclusive use of low-density inks to reproduce highlight colors and means for reducing the amount of ink applied to the page within “solid” areas while maintaining complete coverage of these areas. The techniques may rely on the high addressability and larger ink palette of recent inkjet printers. For example, some inkjet printers offer seven ink channels: low and high density inks for the cyan, magenta, and black channels, and a single high-density yellow ink. In one embodiment, halftone dots within a bitmap image are separated into perimeter data and core data. The perimeter data is then associated with a low-density ink channel and the core data is associated with a high-density ink channel.

This application claims the benefit of U.S. provisional application No. 60/568,406, filed May 5, 2004, the entire content of which is incorporated herein by reference.

TECHNICAL FIELD

The invention relates to halftone proofing techniques, and more particularly halftone proofing with inkjet printers.

BACKGROUND

Halftone prints are produced from bi-level images that indicate the presence or absence of ink at a particular location within the image. Variation of halftone dot sizes controls tonal values within a clustered-dot halftone print. For example, smaller dots produce lighter shades and larger dots produce darker shades.

A halftone image file can be viewed as a bitmap. Each bit is used to indicate whether a pixel is on or off. Color halftone printing devices make use of different channels, e.g., Cyan (C), Magenta (M), Yellow (Y), and Black (K), to define colors. Thus, color halftone prints may include a plurality of monochromatic bitmaps. Each monochromatic bitmap defines the presence or absence of dots for a particular channel.

Thermal halftone proofing systems, such as the Kodak Polychrome Graphics (KPG) Matchprint Digital Halftone proofing system and Kodak Approval proofing system, provide the ability to check geometric and colorimetric accuracy of halftone bitmaps prior to the creation of printing plates. The cost of consumables for such systems, however, can be high relative to that of inkjet printers. There are a number of commercially-available software packages that attempt to produce clustered-dot halftone prints on inkjet printers. However, the printed output from such packages can suffer from artifacts such as false moiré, graininess, or failure to reproduce the halftone screen ruling of the original image.

SUMMARY

In general, the invention is directed to techniques for preparing halftone bitmap images for printing on an inkjet printer. The techniques may involve exclusive use of low-density inks to reproduce highlight colors, i.e., small halftone dots, use of low-density inks to effectively “anti-alias” medium or larger halftone dots or inked areas, and means for reducing the amount of ink applied to the page within “solid” areas while maintaining complete coverage, or solid appearance, in such areas.

The techniques may rely on the high addressability and larger ink palette of modern inkjet printers. For example, some recent inkjet printers offer 2880×1440 dot-per-inch (dpi) printing modes. In addition, some inkjet printers offer seven ink channels: low and high density inks for the cyan, magenta, and black channels, and a single high-density yellow ink.

In one embodiment, the invention is directed to a method for preparing a bitmap image for an inkjet printer. The method comprises separating a halftone dot within the bitmap image into perimeter data and core data. The perimeter data is then associated with a low-density ink channel and the core data is associated with a high-density ink channel.

In another embodiment, the invention is directed to a computer-readable medium containing instructions for preparing a bitmap image for an inkjet printer. The instructions cause a programmable processor to separate a halftone dot within the bitmap image into perimeter data and core data. The instructions further cause the processor to associate the perimeter data with a low-density ink channel and associate the core data with a high-density ink channel.

In another embodiment, the invention is directed to a system comprising a processor that prepares a bitmap image for an inkjet printer. The bitmap image is prepared by separating a halftone dot within the bitmap image into perimeter data and core data. The perimeter data is associated with a low-density ink channel and the core data is associated with a high-density ink channel.

The invention may provide several advantages. For example, the invention may be capable of producing clustered-dot halftone prints on inkjet printers without significant artifacts such as false moiré, graininess, or failure to reproduce the original image's halftone screen ruling. Furthermore, in order to take advantage of the highest resolution print modes, a volume of ink applied to the page in solid inked areas can be reduced. The ink reduction ensures that the solid inked areas produce an accurate color while maintaining full coverage. Use of inkjet printers in accordance with the invention can provide high quality proof images without the cost of media associated with high-end dedicated proofers.

The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is diagram illustrating a system for preparing a halftone bitmap image for an inkjet printer.

FIG. 2 is a diagram illustrating exemplary bitmap images produced at various stages within the system of FIG. 1.

FIG. 3 is a diagram illustrating additional bitmap images produced at various stages within the system of FIG. 1.

FIG. 4 is a diagram illustrating separation of a halftone dot within a bitmap image into core data and perimeter data.

FIG. 5 is a block diagram illustrating a system for preparing a halftone bitmap image including spot channel information.

FIG. 6 is a flowchart illustrating a method of preparing a bitmap image for printing on an inkjet printer.

DETAILED DESCRIPTION

FIG. 1 is a block diagram illustrating a system for preparing a halftone bitmap image 10 for an inkjet printer 28. In an exemplary embodiment, the system makes use of the high addressability and larger ink palette of some inkjet printers, such as those having 2880×1440 dot-per-inch (dpi) printing modes and offer seven ink channels. The seven ink channels may include low-and high-density inks for cyan, magenta, and black channels, and a single high-density yellow ink. Examples of commercially available inkjet printers with these capabilities include the Epson model 7600, 9600, and 4000 printers.

FIG. 1 illustrates only the high- and low-density cyan channels for exemplary purposes. Similar output may be obtained for high- and low-density magenta, yellow and black channels, as indicated by reference numeral 25. In some cases, inkjet printer 28 may not include a low-density yellow channel. In those cases, the low- and high-density outputs from yellow channel processing may be merged to obtain a single high-density yellow channel, and the low-density yellow channel may be set to zero.

The illustrated system includes a processor 11 and inkjet printer 28. Processor 11 produces a clustered-dot halftone print of bitmap image 10 on inkjet printer 28 without significant artifacts, such as false moiré, graininess, or failure to reproduce the halftone screen ruling of bitmap image 10. Processor 11 includes a resize filter 12, a threshold filter 14, an erosion filter 16, a Boolean XOR module 18, a Boolean OR module 20, a thinning filter 22, a threshold screening module 24, and a printer driver 26 coupled to inkjet printer 28. The various components of processor 11 may be implemented as programmable software features, or as hardware components.

Bitmap image 10, e.g., a 1-bit TIFF file, may be created at resolutions of 2400 dpi, 2540 dpi, or the like. In some embodiments, a workflow raster image processor (RIP) may generate bitmap image 10. In other embodiments, bitmap image 10 may be generated by another means. Bitmap image 10 may also be prepared to create printing plates in a platesetter, for example. In that case, the illustrated system may be used as a highly accurate inkjet proofing system. An inkjet proofing system provides the ability to check geometric and colorimetric accuracy of a halftone bitmap prior to the creation of printing plates while reducing the cost of consumables relative to conventional high-end dedicated proofing systems.

Resize filter 12 resizes bitmap 10 to match the resolution of inkjet printer 28, e.g., 2880×1440 dpi. Resize filter 12 may include a resizing kernel with a stop-band attenuation that substantially reduces introduction of moiré in the bitmap image. Properly-designed bicubic kernels, e.g., “Bicubic” resizing in Adobe Photoshop, are typically sufficient for resize filter 12.

During resizing, pixels within the bitmap are treated as continuous (8-bit) values. A resulting resized bitmap (B) is a continuous-tone image. The remaining components in processor 11 operate on binary images. Therefore, threshold filter 14 receives the resized image (B) and converts the 8-bit continuous-tone image back to a 1-bit-per-pixel halftone bitmap image (C).

Erosion filter 16 and Boolean XOR module 18 separate halftone dots and/or inked areas within the resized halftone bitmap (C) into mutually-exclusive perimeters and cores. Separating the halftone dots and/or inked areas allows reproduction of highlight colors, i.e., small halftone dots, with light ink alone. The separation also allows the edges of larger halftone dots or inked areas to be softened by the application of light ink.

Erosion filter 16 removes boundary pixels from halftone dots and/or inked areas within the resized halftone bitmap (C) via one or more iterations of a standard morphological erosion operation. The number of boundary pixels removed can be selected automatically or by a user. Following erosion, the remaining pixels comprise the core data of the resized halftone bitmap image (C). Erosion filter 14 outputs the core data as a core data bitmap (D). Boolean XOR module 18 receives the resized halftone image (C) from threshold filter 14 and the core data bitmap (D) from erosion filter 16. Boolean XOR module 18 removes the core data pixels from the resized halftone image (C) to define the perimeter data of the resized halftone image (C). Boolean XOR module 18 outputs the perimeter data as a perimeter data bitmap (E). The perimeter data bitmap (E) is associated with the low-density or light ink channel, in this case of low-density cyan. The core data bitmap (D) is associated with the high-density or dark ink channel, in this case of high-density cyan.

Inkjet printer 28 may offer full-step, half-step, or quarter-step addressability, such that while inkjet printer 28 produces an ink droplet that is sufficient for covering an addressable area of linear dimension w, printer 28 allows a print head to advance by a distance of w, w/2, or w/4 before placing another drop. However, it is possible to deposit a significant volume of ink on the paper when taking advantage of the highest resolution print mode, the quarter-step addressability mode, as is the case when attempting to obtain the best-possible halftone reproduction. The majority of the ink deposited on the paper is not necessary to obtain complete coverage in a solid area due to the high degree of drop overlap in the quarter-step addressability mode.

In the illustrated system, both threshold screening module 24 and thinning filter 22 provide ink reduction. Threshold screening module 24 receives the core data bitmap (D) from erosion filter 16. Threshold screening module 24 includes a two-dimensional array of threshold values. Each input pixel value in the core data bitmap (D) is compared to a threshold value stored in the 2-D array to determine whether to print an output pixel. An arrangement of the threshold values within the 2-D array determines an order in which the output pixels “turn on” as the input tonal value increases. The order in which the output pixels are printed may produce clustered dot growth or dispersed dot growth. In the case where dispersed dot growth is produced, the output pixel placements may be periodic, as with Bayer ordered dither, or pseudo-random, referred to herein as precomputed stochastic threshold (PST) screening.

If the core data pixel values input to threshold screening module 24 are at 100% of their range, e.g., in an area of solid coverage, all of the output pixels are printed. In order to reduce the amount of ink applied to the paper by inkjet printer 28, threshold screening module 24 may multiply the incoming pixel values by some fractional value to limit the number of output pixels that are printed for a solid coverage area. The fractional value may provide direct control over the number of ink drops placed in the solid area. The fractional value should be set to a minimum value required to obtain complete coverage in the solid inked areas. In that way, inkjet printer 28 may take advantage of the highest resolution print modes while producing an accurate color in the solid inked area.

Threshold screening module 24 also specifies a subset of the core data pixels from core data bitmap (D) to be associated with the low-density ink channel. Threshold screening module 24 outputs the subset as a core data subset bitmap (F). Associating the core data subset bitmap (F) with the low-density ink channel allows for variation in the apparent density of the color channel, e.g., cyan in the illustrated embodiment. The higher the fraction of core data pixels associated with the dark ink, the higher the apparent density of the corresponding ink color will be. The fraction of dark versus light output pixels from the core data bitmap (D) may be placed under user or program control.

Boolean OR module 20 receives the perimeter data bitmap (E) from Boolean XOR module 18 and the core data subset bitmap (F) from threshold screening module 24. Boolean OR module 20 merges the subset of core data pixels within core data subset bitmap (F) with the perimeter data pixels within the perimeter data bitmap (E). Both the perimeter data pixels and the subset of core data pixels are included in a combined data bitmap (G) output by Boolean OR module 20. The combined data bitmap (G) is associated with the low-density channel.

Threshold screening module 24 may be very effective at reducing deposited ink volumes in solid coverage areas. However, threshold screening module 24 may not allow accurate control over positions at which the ink drops are included or excluded. Therefore, a problem may arise when attempting to produce light ink perimeters around inked areas where it is desirable to print the perimeter as an unbroken band of light ink. To reduce ink drop placements in a more controlled fashion, thinning filter 22 is applied to the combined data bitmap (G) associated with the light ink channel.

As an example, thinning filter 22 may include a thinning glyph. The thinning glyph may be configured to replace a pattern of three adjacent, printed pixels [X X X] by a pattern with the middle pixel not printed [X O X]. This thinning glyph is most appropriate for an inkjet printer using the quarter-step addressability mode. In other embodiments, alternate thinning glyphs may be applied to the pixels in the combined data bitmap (G) of the light ink channel. Conventional techniques for bitmap thinning are described in U.S. Pat. No. 5,602,572 to Rylander, entitled “Thinned halftone dot patterns for inkjet printing,” and U.S. Patent Application Publication No. 20030007185, to Rozzi, entitled “Halftone Dot Thinning,” the entire content of each of which is incorporated herein by reference.

Thinning filter 22 outputs a thinned bitmap (H) associated with the low-density ink channel. Threshold screening module 24 outputs a reduced bitmap (I) associated with the high-density ink channel. The above process may also be used to produce light and dark ink bitmaps for the remaining color channels 25. Printer driver 26 receives bitmaps from all the color channels. Printer driver 26 formats the received bitmap data and handles machine communication and control for inkjet printer 28. If a color channel does not have both light and dark inks available, which typically occurs for the yellow channel, then the light and dark bitmaps for the channel are further combined using a Boolean OR module (not shown) to obtain a single, high-density bitmap image for the color channel. Inkjet printer 28 then prints the halftone bitmap image formatted by printer driver 26. The clustered-dot halftone print may be substantially similar to output from a corresponding set of printing plates.

FIG. 2 is a diagram illustrating exemplary bitmap images (A, B, C, D, and E) produced at various stages within the system of FIG. 1. Bitmap image (A) is original bitmap image 10. Bitmap image (B) illustrates bitmap image 10 resized to match the resolution of inkjet printer 28. Bitmap image (B) comprises an 8-bit continuous-tone bitmap. The remaining components of the system illustrated in FIG. 1 operate on binary images. Therefore, threshold filter 14 converts resized bitmap image (B) back to a 1-bit-per-pixel halftone image. Bitmap image (C) shows the halftone version of the resized bitmap image (B).

Bitmap image (C) is then sent to erosion filter 16 and Boolean XOR module 18. Erosion filter 16 removes border pixels from halftone dots and/or inked areas in bitmap image (C). Bitmap image (D) illustrates the core data pixels of bitmap image (C). Boolean XOR module 18 removes the core data pixels in bitmap image (D) from the resized halftone bitmap image (C) to define the perimeter data pixels. Bitmap (E) illustrates the perimeter data pixels of bitmap image (C). The core data (D) is associated with the high-density or dark ink channel, and the perimeter data (E) is associated with the low-density or light ink channel.

FIG. 3 is a diagram illustrating additional bitmap images (F, G, H, and I) produced at various stages within the system of FIG. 1. Bitmap image (F) represents a subset of the core data pixels illustrated in bitmap image (D). The core data subset shown in bitmap image (F) is specified by threshold screening module 24 to be associated with the low-density ink channel. Bitmap image (G) is a combination of the perimeter data pixels from bitmap image (E) and the subset of core data pixels from bitmap image (F).

The combined bitmap image (G) is applied to thinning filter 22, which eliminates some of the combined data pixels to reduce an amount of ink applied to the paper while maintaining precise control over the location of the ink drops. Bitmap image (H) illustrates the thinned bitmap image. Bitmap image (H) is applied to printer driver 26 as the low-density color channel input.

Threshold screening module 22 reduces a number of the core data pixels from bitmap image (D) associated with the high-density ink channel. Threshold screening module 22 applies a fractional value to the input core data pixels and determines an order in which the output pixels will be printed as the input tonal value increases. Bitmap image (I) represents the reduced bitmap image output from threshold screening module 22. Bitmap image (I) is applied to printer driver 26 as the high-density color channel input.

FIG. 4 is a diagram illustrating separation of a halftone dot 30 within a bitmap image into core data 32 and perimeter data 33. A conventional erosion process may be applied to halftone dot 30. The erosion process shrinks an original halftone dot 30 by turning off all of the pixels that are situated at a boundary 31. Deactivating all the pixels within boundary 31 surrounding the halftone dot 30 leaves core data 32. As described above, erosion filter 16, included in the system illustrated in FIG. 1, applies the erosion process to halftone dots and/or inked areas within a bitmap image to obtain only the core data pixels of the bitmap image.

In order to obtain the perimeter data 33, the core data 32 is compared with halftone dot 30 by, for example, a Boolean XOR process. Removing core data 32 with halftone dot 30 results in perimeter data 33. Also described above, Boolean XOR module 18 removes the core data pixels of the halftone dots and/or inked areas, obtained by erosion filer 16, from the bitmap image. In that way, Boolean XOR module 18 obtains only the perimeter data pixels of the halftone dots and/or inked areas within the bitmap image.

FIG. 5 is a block diagram illustrating a system for preparing a bitmap image 10 for an inkjet printer 28 including spot channel information. FIG. 5 shows additional components that may be included in the bitmap preparation system described in reference to FIG. 1 to accommodate a spot color channel. As in FIG. 1, FIG. 5 illustrates only the high and low-density cyan channels. Similar output may be obtained for high- and low-density magenta, yellow and black channels, as indicated by reference numeral 25.

The system illustrated in FIG. 5 includes a processor 40 and inkjet printer 28. Processor 40 operates substantially similar to processor 11 illustrated in FIG. 1, in that processor 40 also produces a clustered-dot halftone print of bitmap image 10 on inkjet printer 28 without artifacts. Processor 40 includes resize filter 12, threshold filter 14, erosion filter 16, and Boolean XOR module 18. The previously listed components are not illustrated in FIG. 5, because they operate the same and produce the same output as described in reference to FIG. 1. Processor 40 further includes a light ink multi-input OR module 34, thinning filter 22, a hue adjustment module 36, a dark ink multi-input OR module 38, threshold screening module 24, and printer driver 26 coupled to inkjet printer 28.

After bitmap image 10 has been resized to the resolution of inkjet printer 28 and the halftone dots and/or inked areas within the resized bitmap image have been separated into core data and perimeter data, as described in reference to FIG. 1, the core data bitmap may be input to hue adjustment module 36. Hue adjustment module 36 adjusts the core data pixels for, in this case, high-density cyan and outputs low-density magenta, low-density black, and yellow ink drops to the corresponding color channels (not shown). Dark ink multi-input OR module 38 accepts the adjusted core data associated with the high-density or dark cyan. Dark ink multi-input module 38 also receives dark cyan data from the spot color channel (not shown) included in the system. Dark ink multi-input OR module 38 combines all of the received dark cyan core data to ensure accurate color production for bitmap image 10.

The output of dark ink multi-input OR module 38 is applied to threshold screening module 24. As described above, threshold screening module 24 specifies a subset of the core data pixels to apply to the light ink channel. Furthermore, threshold screening module 24 reduces ink volume during printing by applying a fractional value to the core data input pixels and determining a printing order of the core data output pixels as the input tonal value increases.

The perimeter data bitmap may be input to light ink multi-input OR module 34 along with the subset of core data pixels specified by threshold screening module 24. Light ink multi-input OR module 34 also receives light cyan data from the high-density magenta, yellow, and black channels, and the spot color channel. Light ink multi-input OR module 34 combines all of the received light cyan data to ensure accurate color production for bitmap image 10. The output of light ink multi-input OR module 34 is then applied to thinning filter 22. As described above, thinning filter 22 reduces a number of perimeter and core data pixels associated with the low-density ink and maintains accurate placement of the reduced ink drops.

Printer driver 26 receives the low-density color bitmap from thinning filter 22 and the high-density color bitmap from threshold screening module 24. Printer driver 26 also receives the high- and low-density color bitmaps for the remaining color channels 25. Printer driver 26 formats the received bitmap data and handles machine communication and control for inkjet printer 28. Inkjet printer 28 then prints the halftone bitmap image formatted by printer driver 26.

FIG. 6 is a flowchart illustrating a method for preparing a bitmap image for printing on an inkjet printer. The method relates to the bitmap preparation system illustrated in FIG. 1. The method describes the preparation processes for only one set of high and low-density color channels, e.g. cyan. The method may similarly be applied for high- and low-density magenta, yellow and black channels.

Bitmap image 10 is resized to the resolution of inkjet printer. The resized bitmap image is then separated into core data and perimeter data (40) by erosion filter 16 and Boolean XOR module 18. Erosion filter 16 erodes boundary pixels of halftone dots and/or inked area included within the resized bitmap image. By eroding the boundary pixels, erosion filter 16 obtains only the core data pixels of the resized bitmap image. Boolean XOR module 18 then removes the core data pixels from the resized bitmap image to obtain only the perimeter data pixels of the resized bitmap image.

The core data bitmap is input to threshold screening module 24 (42) to reduce an amount of ink applied during the printing process. The amount of ink used during printing is reduced by applying a fractional value to the core data pixels input to threshold screening module 24. Furthermore, threshold screening module 24 determines a printing order for the core data output pixels as the input tonal value increases. Threshold screening module 24 also specifies a subset of the core data to be combined with the perimeter data (44). The remaining core data pixels are associated with a high-density or dark ink channel (46).

The perimeter data and the subset of core data are associated with a low-density or light ink channel (48). The combined data bitmap associated with the low-density ink is input to thinning filter 22 (50). Thinning filter 22 reduces the number of pixels to be printed while maintaining a high level of ink drop placement accuracy. Thinning filter 22 may apply a thinning glyph to the pixels of the perimeter data and the subset of core data.

Threshold screening module 24 outputs a dark ink channel bitmap and thinning filter 22 outputs a light ink channel bitmap. The dark and light ink channel bitmaps are applied to printer driver 26 (52). The above method may also be used to generate light and dark ink channel bitmaps for all the color channels. In some embodiments, spot channel information may also be included. Printer driver 26 formats the received high- and low-density color channel bitmaps. The bitmap image is then printed using inkjet printer 28 (52).

Various embodiments of the described invention may be implemented by computer hardware, software, and firmware. Exemplary computer hardware may include programmable processors such as microprocessors, Application-Specific Integrated Circuits (ASIC), Field-Programmable Gate Arrays (FPGA), or other equivalent integrated or discrete logic circuitry. A processor may execute instructions stored in a computer-readable medium to perform various functions described herein. Exemplary computer-readable media may include or utilize magnetic or optical tape or disks, solid state volatile or non-volatile memory, including random access memory (RAM), read only memory (ROM), electronically programmable memory (EPROM or EEPROM), or flash memory, as well as other data storage media.

Various embodiments of the invention have been described. For example, a bitmap image preparation system has been described that provides accurate clustered-dot halftone prints on inkjet printers without artifacts. The process includes separating a halftone bitmap image into core and perimeter data. The core data is then associated with a high-density ink channel and the perimeter data is associated with a low-density ink channel. A subset of the core data may be associated with the low-density ink channel to increase density variation of the color channel. Furthermore, ink volume reduction techniques have also been described. The reduction techniques provide a color accurate halftone print by minimizing an amount of ink applied to the paper during printing while maintaining the coverage required by the original bitmap image. The ink reduction techniques may also provide precise control over the placement of ink drops on the paper. These techniques allow ink reduction in the solid inked areas of the core data as well as the inked area boundaries of the perimeter data. These and other embodiments are within the scope of the following claims. 

1. A method for preparing a bitmap image for an inkjet printer comprising: separating a halftone dot within the bitmap image into perimeter data and core data; associating the perimeter data with a low-density ink channel; and associating the core data with a high-density ink channel.
 2. The method of claim 1, wherein separating the halftone dot into perimeter data and core data comprises eroding the halftone dot to determine the core data and eliminating the core data from the halftone dot to determine the perimeter data.
 3. The method of claim 1, further comprising applying threshold array screening to the core data to reduce a volume of ink used during printing of the bitmap image.
 4. The method of claim 3, wherein applying threshold array screening to the core data comprises reducing a number of core data pixels to be printed within the halftone dot and determining an order in which the core data pixels are printed.
 5. The method of claim 4, wherein determining the order in which the core data pixels are printed comprises comparing an input pixel value and a threshold value, and eliminating pixels that are below the threshold value.
 6. The method of claim 5, wherein reducing the number of core data pixels to be printed comprises applying a fractional value to the input pixel value.
 7. The method of claim 4, wherein the order in which the core data pixels are printed produces dispersed dot growth.
 8. The method of claim 7, wherein the dispersed dot growth comprises one of a periodic and a pseudo-random placement of the core data pixels.
 9. The method of claim 8, wherein the pseudo-random placement of the core data pixels is produced by application of precomputed stochastic threshold screening to the core data.
 10. The method of claim 4, wherein applying threshold array screening comprises specifying a subset of the core data pixels to be associated with the low-density ink channel.
 11. The method of claim 1, further comprising applying a bitmap thinning filter to the perimeter data to control the placement of ink during printing.
 12. The method of claim 11, wherein applying the bitmap thinning filter to the perimeter data comprises reducing a number of perimeter data pixels to be printed within the halftone dot.
 13. The method of claim 12, wherein reducing the number of perimeter data pixels comprises applying a thinning glyph to replace a pattern of three adjacent set pixels by a pattern with a middle pixel not set.
 14. The method of claim 11, further comprising associating a subset of the core data with the low-density ink channel and applying the bitmap thinning filter to the subset of the core data.
 15. The method of claim 14, wherein associating the subset of the core data with the low-density ink channel comprises combining the subset of the core data with the perimeter data.
 16. The method of claim 1, wherein the low-density ink channel includes one of a low-density cyan channel, a low-density magenta channel, and a low-density black channel.
 17. The method of claim 1, wherein the high-density ink channel includes one of a cyan channel, a yellow channel, a magenta channel, and a black channel.
 18. The method of claim 1, further comprising resizing the bitmap image to a resolution of the inkjet printer.
 19. The method of claim 18, wherein resizing the bitmap image comprises applying a resizing kernel with a stop-band attenuation that substantially reduces moiré in the bitmap image.
 20. The method of claim 19, wherein the resizing kernel comprises a bicubic kernel.
 21. A computer-readable medium comprising instructions to cause a programmable processor to: separate a halftone dot within a bitmap image into perimeter data and core data; associate the perimeter data with a low-density ink channel; and associate the core data with a high-density ink channel.
 22. The computer-readable medium of claim 21, wherein the instructions cause the programmable processor to separate the halftone dot into perimeter data and core data cause the programmable processor to erode the halftone dot to determine the core data and eliminate the core data from the halftone dot to determine the perimeter data.
 23. The computer-readable medium of claim 21, wherein the instructions cause the programmable processor to apply threshold array screening to the core data to reduce a volume of ink used during printing.
 24. The computer-readable medium of claim 21, wherein the instructions cause the programmable processor to apply a bitmap thinning filter to the perimeter data to control the placement of ink during printing.
 25. The computer-readable medium of claim 24, wherein the instructions cause the programmable processor to associate a subset of the core data with the low-density ink channel and apply the bitmap thinning filter to the subset of the core data.
 26. The computer-readable medium of claim 25, wherein the instructions cause the programmable processor to associate the subset of the core data with the low-density ink channel cause the programmable processor to combine the subset of the core data with the perimeter data.
 27. The computer-readable medium of claim 21, wherein the instructions cause the programmable processor to resize the bitmap image to a resolution of the inkjet printer.
 28. A system comprising a processor that prepares a bitmap image for an inkjet printer by separating a halftone dot within the bitmap image into perimeter data and core data, associating the perimeter data with a low-density ink channel, and associating the core data with a high-density ink channel.
 29. The system of claim 28, further comprising an inkjet printer that prints the bitmap image based on the perimeter data associated with the low-density ink channel and the core data associated with the high-density ink channel.
 30. The system of claim 28, wherein the inkjet printer includes seven ink channels including cyan, yellow, magenta, black, low-density cyan, low-density magenta, and low-density black.
 31. The system of claim 28, wherein the processor erodes the halftone dot to determine the core data and eliminates the core data from the halftone dot to determine the perimeter data.
 32. The system of claim 28, wherein the processor applies threshold array screening to the core data to reduce a volume of ink used during printing of the bitmap image.
 33. The system of claim 28, wherein the low-density ink channel includes one of a low-density cyan channel, a low-density magenta channel, and a low-density black channel, and the high-density ink channel includes one of a high-density cyan channel, a high-density yellow channel, a high-density magenta channel, and a high-density black channel. 